package com.buydeem.observer;

/**
 * 主题接口
 *
 * @author zengchao
 * @date 2022-04-19 15:54:54
 */
public interface Subject {

    /**
     * 注册一个观察者
     * @param observer 观察者
     */
    void registerObserver(Observer observer);

    /**
     * 删除一个观察者
     * @param observer 观察者
     * @return 是否移除成功
     */
    boolean removeObserver(Observer observer);

    /**
     * 通知所有观察者
     * @param msg 消息内容
     */
    void notifyObservers(String msg);
}
